home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 5960 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.8 KB

  1. Path: gate.itron.com!usenet
  2. From: ronald.ten-hove@itron.com (Ron Ten-Hove)
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: Q; Has anyone ever attempted to implement persistent objects?
  5. Date: 7 Feb 1996 16:21:19 GMT
  6. Organization: Itron Inc.
  7. Message-ID: <4fajhv$po0@gate.itron.com>
  8. References: <4f688s$ctc@news.cc.geneseo.edu>
  9. Reply-To: ronald.ten-hove@itron.com (Ron Ten-Hove)
  10. NNTP-Posting-Host: itron12-23.itron.com
  11. X-Newsreader: IBM NewsReader/2 v1.02
  12.  
  13. In <4f688s$ctc@news.cc.geneseo.edu>, Peter Denecke <prd97> writes:
  14. >I was wondering if anyone ever attempted to implement a persistent objects
  15. >system, that is, objects that can exist beyond run time.  If so, could you give
  16. >an overview of your implementation and describe the problems you faced in
  17. >developing it?
  18.  
  19. There are several approaches that I have been involved with.
  20.  
  21. 1.  Use a data base.  You can use an O0DBMS, or RDBMS.
  22.     I have used the latter, using "business objects" to
  23.     hide the data base system, and give reasonable behaviour to
  24.     what is otherwise dumb data from the DB.
  25.  
  26.     The logistics of synchronising the business objects with
  27.     a shifting database schema are troublesome.  The demands
  28.     of O-O can force one to violate the normalisation rules
  29.     for a RDBMS. Referential integrity is difficult to
  30.     design in. One can create deadlock situations in many
  31.     non-obvious ways.
  32.  
  33. 2.  Use a third-party package.  The RogueWave Tools.h++ provides
  34.     an excellent framework for "persisting" objects.  Other
  35.     libraries have similar mechanisms.
  36.  
  37.     This is very convenient if you are already using the library,
  38.     but a pain if you are not.
  39.  
  40. 3.  Roll your own.  Time consuming, error-prone, and definitely
  41.     to be done only in desperation. Sometimes needed to conform
  42.     to some really odd requirements, such as externally specified
  43.     file formats for the persistance mechanism.
  44.  
  45. -Ron
  46.  
  47.  
  48.